<?xml version="1.0"?>
<!DOCTYPE hrc PUBLIC "-//Cail Lomecb//DTD Colorer HRC take5//EN"
  "http://colorer.sf.net/2003/hrc.dtd">
<hrc version="take5" xmlns="http://colorer.sf.net/2003/hrc"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://colorer.sf.net/2003/hrc http://colorer.sf.net/2003/hrc.xsd">

<type name="configsys">

<!--import type="ini"/-->

<region name="group.name" parent="ini:group.name.defined"/>
<region name="param.name" parent="ini:param.name.defined"/>
<region name="param.content" parent="ini:param.content.defined"/>

<scheme name="group">
 <block start="/\M^\[menu\]/i" end="/\M^\[[^\]]+\]/" scheme="group-menu"/>  
 <inherit scheme="ini:group">
  <virtual scheme="ini:group.name" subst-scheme="group.name"/>
  <virtual scheme="ini:comment" subst-scheme="comment"/>
  <virtual scheme="ini:param" subst-scheme="param-default"/>
 </inherit> 
</scheme>

<scheme name="group.name">
 <inherit scheme="ini:group.name"/>
 <keywords region="group.name" ignorecase="yes">
  <word name="common"/>
  <word name="menu"/>
 </keywords>
</scheme>


<scheme name="param-default">
 <block start="/\M\s*dos/i" end="/$/" scheme="param-default.dos"/>
 <block start="/\M\s*set/i" end="/$/" scheme="param-default.set"/>
 <block start="/\M\s*lastdrive/i" end="/$/" scheme="param-default.ldrv"/>
 <block start="/\M\s*(break|numlock|multitrack)/i" end="/$/" scheme="param-default.onoff"/>
 <inherit scheme="ini:param">
  <virtual scheme="ini:param.name" subst-scheme="param-default.name"/>
 </inherit>
</scheme>

<scheme name="param-default.name">
 <keywords region="param.name" ignorecase="yes">
  <word name="ACCDATE"/>
  <word name="BREAK"/>
  <word name="BUFFERS"/>
  <word name="BUFFERSHIGH"/>
  <word name="DEVICE"/>
  <word name="DEVICEHIGH"/>
  <word name="DOS"/>
  <word name="DRIVPARM"/>
  <word name="FCBS"/>
  <word name="FCBSHIGH"/>
  <word name="FILES"/>
  <word name="FILESHIGH"/>
  <word name="INSTALL"/>
  <word name="INSTALLHIGH"/>
  <word name="LASTDRIVE"/>
  <word name="LASTDRIVEHIGH"/>
  <word name="NUMLOCK"/>
  <word name="SET"/>
  <word name="SHELL"/>
  <word name="STACKS"/>
  <word name="STACKSHIGH"/>
  <word name="SWITCHES"/>
  <word name="SWITCHES"/>
  <word name="Country"/>
  <word name="MultiTrack"/>
 </keywords> 
</scheme>


<scheme name="param-default.dos">
 <inherit scheme="ini:param">
  <virtual scheme="ini:param.name" subst-scheme="param-default.name"/>
  <virtual scheme="ini:param.content" subst-scheme="param-default.dos.content"/>
 </inherit>
</scheme>

<scheme name="param-default.ldrv">
 <inherit scheme="ini:param">
  <virtual scheme="ini:param.name" subst-scheme="param-default.name"/>
  <virtual scheme="ini:param.content" subst-scheme="param-default.ldrv.content"/>
 </inherit>
</scheme>

<scheme name="param-default.onoff">
 <inherit scheme="ini:param">
  <virtual scheme="ini:param.name" subst-scheme="param-default.name"/>
  <virtual scheme="ini:param.content" subst-scheme="param-default.onoff.content"/>
 </inherit>
</scheme>

<scheme name="param-default.set">
 <inherit scheme="ini:param">
  <virtual scheme="ini:param.name" subst-scheme="param-default.set.name"/>
  <!--virtual scheme="ini:param.content" subst-scheme="param-default.set.content"/-->
 </inherit>
</scheme>

<scheme name="param-default.dos.content">
 <keywords region="param.content" ignorecase="yes">
  <word name="HIGH"/>
  <word name="LOW"/>
  <word name="UMB"/>
  <word name="NOUMB"/>
  <word name="AUTO"/>
  <word name="NOAUTO"/>
  <word name="SINGLE"/>
  <symb name="," region="ini:Symbol"/>
 </keywords>
</scheme>

<scheme name="param-default.ldrv.content">
 <regexp match="/\w?~1[A-Z]{1}/" region="param.content"/>
</scheme>

<scheme name="param-default.onoff.content">
 <keywords region="param.content" ignorecase="yes">
  <word name="ON"/>
  <word name="OFF"/>
 </keywords>
</scheme>

<scheme name="param-default.set.name">
 <regexp match="/(set)\s+\w+/i" region="def:Var" region1="param.name"/>
</scheme>



<scheme name="group-menu">
 <inherit scheme="ini:group">
  <virtual scheme="ini:group.name" subst-scheme="group.name"/>
  <virtual scheme="ini:comment" subst-scheme="comment"/>
  <virtual scheme="ini:param" subst-scheme="param-menu"/>
 </inherit> 
</scheme>

<scheme name="param-menu">
 <block start="/\M\s*menuitem/i" end="/$/" scheme="param-menu.menuitem"/>
 <block start="/\M\s*menudefault/i" end="/$/" scheme="param-menu.menudefault"/>
 <inherit scheme="ini:param">
  <virtual scheme="ini:param.name" subst-scheme="param-menu.name"/>
 </inherit>
</scheme>

<scheme name="param-menu.name">
 <keywords region="param.name" ignorecase="yes">
  <word name="menuitem"/>
  <word name="menudefault"/>
  <word name="menucolor"/>
 </keywords> 
</scheme>


<scheme name="param-menu.menuitem">
 <inherit scheme="ini:param">
  <virtual scheme="ini:param.name" subst-scheme="param-menu.name"/>
  <virtual scheme="ini:param.content" subst-scheme="param-menu.menuitem.content"/>
 </inherit>
</scheme>

<scheme name="param-menu.menudefault">
 <inherit scheme="ini:param">
  <virtual scheme="ini:param.name" subst-scheme="param-menu.name"/>
  <virtual scheme="ini:param.content" subst-scheme="param-menu.menudefault.content"/>
 </inherit>
</scheme>

<scheme name="param-menu.menuitem.content">
 <regexp match="/(\w+)\s*(\,).*/" priority="low" region="def:String" 
  region1="param.content" region2="ini:Symbol"/>
</scheme>

<scheme name="param-menu.menudefault.content">
 <regexp match="/(\w+)\s*(\,)\s*\d+/" priority="low" region="ini:Number" 
  region1="param.content" region2="ini:Symbol"/>
</scheme>



<scheme name="comment">
 <block start="/^\s*rem\s+/i" end="/$/" scheme="def:Comment"
  region="ini:comment" region00="def:Keyword"
 />
 <inherit scheme="ini:comment"/>
</scheme>

<scheme name="configsys">
 <block start="/\M^\[[^\]]+\]/" end="/\M^\[[^\]]+\]/" scheme="group"/> 
 <inherit scheme="group"/>
</scheme>



</type>
</hrc>
<!-- ***** BEGIN LICENSE BLOCK *****
   - Version: MPL 1.1/GPL 2.0/LGPL 2.1
   -
   - The contents of this file are subject to the Mozilla Public License Version
   - 1.1 (the "License"); you may not use this file except in compliance with
   - the License. You may obtain a copy of the License at
   - http://www.mozilla.org/MPL/
   -
   - Software distributed under the License is distributed on an "AS IS" basis,
   - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
   - for the specific language governing rights and limitations under the
   - License.
   -
   - The Original Code is the Colorer Library.
   -
   - The Initial Developer of the Original Code is
   - Eugene Efremov <4mirror@mail.ru>.
   - Portions created by the Initial Developer are Copyright (C) 2003-2005
   - the Initial Developer. All Rights Reserved.
   -
   - Contributor(s):
   -
   - Alternatively, the contents of this file may be used under the terms of
   - either the GNU General Public License Version 2 or later (the "GPL"), or
   - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
   - in which case the provisions of the GPL or the LGPL are applicable instead
   - of those above. If you wish to allow use of your version of this file only
   - under the terms of either the GPL or the LGPL, and not to allow others to
   - use your version of this file under the terms of the MPL, indicate your
   - decision by deleting the provisions above and replace them with the notice
   - and other provisions required by the LGPL or the GPL. If you do not delete
   - the provisions above, a recipient may use your version of this file under
   - the terms of any one of the MPL, the GPL or the LGPL.
   -
   - ***** END LICENSE BLOCK ***** -->